#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 1.编写1-10中为偶数的平方组成的list 
[x ** 2 for x in range(1, 11) if x % 2 == 0]

# 2.已知list2 = [[5,2,3,3,1],[4,4,3],[33,2],[10], [4,8]]，求出其中偶数组成的list。
[b for x in list2 for b in x if b % 2 == 0]  # 推导式


# 3.已知list2 = [[2,3,1,5,9,2,5],[3,4,44],[7,8,9,2,1],[10,1],[4],[5,7]]
#清除其中一维列表元素个数大于二的列表，然后求出这些列表中的奇数组成的list。
[b for x in list2 if len(x) <= 2 for b in x if b % 2 != 0]  # 推导式


# 4.[True, 33, "ll", "kk", 44, 34, 0]，计算出其中的整数组成的列表。
[i for i in list2 if type(i) == int]  
[i for i in list2 if isinstance(i, int)]

# 5.字典推导式：把如下字典中的key:value互换, {"bbb":"aa","ffff":"cc"}
{x:v for v,x in olddict.items()}

# 6.已知列表['1', '2', '3', '4', '5', '6']，把列表中的元素转换为整型并生成新列表。
[int(i) for i in a2]

# 7.olddict={'xiaoming': 6, 'xiaohong': 15, 'xiaoqiang': 16 }，计算出值大于10的字典。
{x:int(v) for x,v in olddict.items() if v>10} #  王鑫林

# 8.已知tupledemo = (1,1,2,3,4,5,6,6)，计算出其中偶数的平方组成的集合。
{i**2 for i in tupledemo if i % 2 == 0}




